var $dataInfo = $('#customerTable');

//超管标识符
let isSuper = false
let userName = $.trim($('#userName').val());

//防止表头与表格不对齐
$(window).resize(function () {
    $dataInfo.bootstrapTable('resetView');
});


$(function () {
    $("#titleName").html("移交" + userName + "的资料");

    dataInfoInit();
    //判断是否是超管
    isSuperAdmin();
    loadAccounts()
});

function loadAccounts(){
    if(isSuper){//超管
        //加载全部公司信息
        loadAllAccounts();
    }else{//普管
        //获取普管所在公司ID
        $.ajax({
            type: 'GET',
            dataType: "json",
            url: '/account/selectUserAccountByAccountId?accountId=',
            cache: false,
            async: false,
            success: (function (data) {
                if (data.code == '000000') {
                    loadPersonByCompanyId(data.data.companyId);
                } else {
                    $.alert("请求失败");
                }
            }),
            error: (function (res) {
                $.alert("请求失败");
            })
        });
    }
}

/**
 * 加载全部账号信息
 */
function loadAllAccounts() {
    $.getJSON("/account/getAllAccountList", function (data) {
        if (data.code == '000000') {
            var userNameOptionHtml = '<option value="">全部</option>';
            data.data.map(function (item) {
                userNameOptionHtml += '<option value="' + item.accountId + '">' + item.userName + '</option>';
            });
            $("#toUserAccountId").html("");
            $('#toUserAccountId').append(userNameOptionHtml);
            $('#toUserAccountId').selectpicker('refresh');
        }
    });
}


/**
 * 根据公司ID查询人员信息
 * @param companyId
 */
function loadPersonByCompanyId(companyId) {
    $.getJSON("/account/getAccountListByCompanyId?companyId=" + companyId, function (data) {
        if (data.code == '000000') {
            var userNameOptionHtml = '';
            data.data.map(function (item) {
                userNameOptionHtml += '<option value="' + item.accountId + '">' + item.userName + '</option>';
            });
            $("#toUserAccountId").html("");
            $('#toUserAccountId').append(userNameOptionHtml);
            $('#toUserAccountId').selectpicker('refresh');
        }
    });
}

/**
 * 获取客户列表
 */
function dataInfoInit() {
    //先销毁表格
    $dataInfo.bootstrapTable('destroy');
    $dataInfo.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/getCustomerListByUserAccountId',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'customerId',
        idField: 'customerId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",//可供选择的每页的行数
        fixedColumns: true,     // 冻结列
        fixedNumber: 4,         // 左侧固定列
        // fixedRightNumber: 1,    // 右侧固定列

        queryParams: queryParams,//查询参数
        columns: [
            // {title: '主键', field: 'customerId'},
            {title: '主键', field: 'customerId', visible: false},
            {title: '状态', field: 'currentStatus', visible: false},
            {title: '序号', field: 'index', checkbox:"true"},
            {title: '客户名称', field: 'customerName', align: 'left', valign: 'middle'},
            {title: '客户类型', field: 'customerType', align: 'left', valign: 'middle'},
            {title: '联系人数量', field: 'contactPersonCount', align: 'left', valign: 'middle'},
            {title: '总跟进数', field: 'followCount', align: 'left', valign: 'middle'}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * --列表序列号
 */
function indexFormat(value, row, index) {
    return index + 1;
}


function searchCustomerList() {
    $dataInfo.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParams});
}

/**
 * 普通查询参数
 */
function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式
    //普通搜索条件
    params.membershipLevel = $("input[name='membershipLevel']:checked").val();  //全部/会员/非会员
    params.customerName = $.trim($('#customerName').val());  //客户名
    params.accountId = $.trim($('#accountId').val());  //用户id
    return params;
}

/**
 * 全部/会员/非会员 切换
 */
function selectStatus() {
    $dataInfo.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParams});
}

//移交
function moveSelectedCustomers(){
    var selectionsArr = $dataInfo.bootstrapTable('getSelections');
    var toUserAccountId = $('#toUserAccountId option:selected').val();//移交人
    if (!toUserAccountId){
        $.alert('请选择移交人！');
        return;
    }
    if(selectionsArr.length == 0){
        $.alert('请选择要移交的客户！');
        return;
    }
    var jsonarr = [];
    for(i=0; i<selectionsArr.length; i++){
        var customer = {};
        customer.customerId = selectionsArr[i].customerId;
        customer.currentStatus = selectionsArr[i].currentStatus;
        customer.accountId = toUserAccountId
        jsonarr.push(customer);
    }
    $.ajax({
        url: '/customerController/moveSelectedCustomers',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonarr),
        success: (function (data) {
            if (data.code == '000000') {
                $.alert('移交成功！');
                $dataInfo.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParams});
            } else if (data.code == 'MV0001') {
                $.alert("超出我的客户容量");
            } else if (data.code == '-1') {
                $.alert("移交失败");
            } else {
                $.alert("要移交的客户数大于可被移入容量，该用户的客户容量仅剩" + data.code +"个");
            }
        }),
        error: (function (res) {
            $.alert("请求失败");
        })
    })
}


//判断是否超管
function isSuperAdmin() {
    $.ajax({
        type: 'GET',
        dataType: "json",
        url: '/returnMoney/isSuperAdmin',
        cache: false,
        async: false,
        success: (function (data) {
            if (data.data) {
                isSuper = true;
            }
        }),
        error: (function (res) {
            alert("请求失败");
        })
    });
}
